Few-shot Learning(少数例学習)
概要
Few-shot Learningは、わずかな数の訓練例(数個~数十個)から新しいタスクを学習する能力です。Brown et al.(2020)がGPT-3で実証したこの能力は、大規模言語モデル(LLM)の実用性を大きく高め、プロンプトエンジニアリングという新しい分野を生み出しました。
Zero-shot, Few-shot, Fine-tuning の比較
| 学習方法 | 訓練例の数 | 計算コスト | 用途 |
|---|---|---|---|
| Zero-shot | 0個 | 低 | 未見のタスクに直接対応 |
| Few-shot | 数個~数十個 | 低 | 新規タスクへの素早い適応 |
| Fine-tuning | 数百~数千個 | 高 | 特定タスクの性能最適化 |
発展の歴史
2020年の転機:GPT-3
- 「Language Models are Few-Shot Learners」 (Brown et al., 2020)
- 1750億パラメータの大規模LMで初めて実証
- プロンプトの設計方法が性能に大きく影響することを示唆
- In-context Learning という概念を普及
その後の展開
- プロンプトエンジニアリングの活発な研究
- Chain-of-Thought Prompting など高度な技法の開発
- ファイン・チューニング不要のタスク適応が主流化
仕組みと原理
In-context Learning
Large language models がコンテキスト内で学習する能力:
- プロンプトに例を埋め込む: タスク例を数個提示
- パターン認識: モデルが例から規則性を推測
- 生成: 新しい入力に対して学習したパターンを適用
なぜ可能か?
- Transformer のAttention機構が異なるトークン間の関係を捉える
- 大規模な事前学習により、多くの言語現象を内部表現している
- 少数例があれば、それらから推測される規則を適用できる
実践的な応用
使用例
プロンプト:
"以下は感情分析のタスクです。
例:
- テキスト:「このカフェは最高です!」 → 感情:ポジティブ
- テキスト:「遅れて来た」 → 感情:ニュートラル
新しいテキスト:「このサービスは最悪」
感情:?"
効果的なプロンプト設計
- 明確なタスク説明: 何をすべきか明確に
- 質の高い例: 代表的で多様な例を選択
- 形式の統一: 入出力の形式を一貫させる
- 思考プロセスの明示: Chain-of-Thought など
制限と課題
現在の限界
- 複雑な推論タスクでは精度が低下する場合がある
- タスクによって性能が大きく変わる
- 例の順序や選択に左右される(脆弱性)
改善方向
- より高度なプロンプト技法の開発
- モデルサイズの拡大
- 特定タスク向けの最適化
参考資料
- Brown, T. L., et al. (2020). “Language Models are Few-Shot Learners.” arXiv preprint arXiv:2005.14165.
- Transformer
- Attention